---
title: Contribution
---

Blok is an open-source project built to redefine how developers architect and deploy scalable applications. Whether you're passionate about optimizing workflows, building reusable nodes, or improving developer experience, your contributions can make a real impact! Help us shape the future of modular cloud development by submitting nodes, addining more functionality, improving documentation, or sharing feedback. Every contribution—big or small—pushes the project forward. Jump in, collaborate, and let’s build something amazing together! 💡🔧

---

### How to Contribute
<Steps>
  <Step title="First Step">
    Fork & Clone the repository.
  </Step>
  <Step title="Second Step">
    Make changes based on the [project roadmap](https://github.com/orgs/deskree-inc/projects/4/views/2) or propose the changes there.
  </Step>
  <Step title="Third Step">
    Create tests and make sure you have 100% coverage.
  </Step>
  <Step title="Forth Step">
    Submit a Pull Request with a clear description following the provided template.
  </Step>
</Steps>

### Setting up the Development Environment

To set up the development environment, follow the steps below:

<Steps>
  <Step title="Close the repository">
    ```bash
    git clone https://github.com/deskree-inc/blok.git
    cd blok
    ```
  </Step>
  <Step title="Install the dependencies">
  The following command will install the dependencies required for the project.
    ```bash
    pnpm install
    ```
  </Step>
  <Step title="Create env">
    The following command will create the `.env.local` required by the tests in the runner project.
    ```bash
    make prepare
    ```
  </Step>
</Steps>

### Before committing your changes

<Steps>
  <Step title="Run build process">
  The following command will will create the build for all the projects because as required by monorepo.
    ```bash
    pnpm build
    ```
  </Step>
  <Step title="Generate documentation">
  If you've made any changes to the `/core` of the project, make sure you you run the following command to update the `TypeDoc` documentation.
  The following command will install the dependencies required for the project.
    ```bash
    npm run doc:generate
    ```
  </Step>
  <Step title="Run test">
    The following command will execute the test in all the projects
    ```bash
    pnpm test
    ```
  </Step>
</Steps>

### Best Practices
<Steps>
  <Step title="First Step">
    Follow TypeScript standards for consistency.
  </Step>
  <Step title="Second Step">
    Keep in mind the objectives of the project
  </Step>
  <Step title="Third Step">
    Document your code and make adjustments to the `/docs` section if your changes affect the public use of the framework.
  </Step>
</Steps>